package com.vhall.component.entity.livecolumn.vo;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.vhall.component.entity.thirduser.ThirdUserVO;
import com.vhall.component.framework.common.annotation.ParamName;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

/**
 * LiveColumnInfoResponseVO-
 *
 * @author xing.wang
 * @date 2023/8/5
 */
@Data
public class LiveColumnInfoResponseVO extends LiveColumnBaseResponseVO implements Serializable {

    /**
     * 运营人员
     */
    @JsonProperty("user_list")
    @ParamName("user_list")
    private List<ThirdUserVO> userList;

    /**
     * 栏目关联房间数
     */
    @JsonProperty("room_count")
    @ParamName("room_count")
    private Integer roomCount;
    /**
     * 栏目下 房间的PV总数
     */
    @JsonProperty("connect_count")
    @ParamName("connect_count")
    private Integer connectCount;
    /**
     * 栏目订阅数
     */
    @JsonProperty("fans_count")
    @ParamName("fans_count")
    private Integer fansCount;

    /**
     * 在直播间内显示使用
     * 栏目下 房间的PV总数(膨胀后的)
     */
    @JsonProperty("virtual_connect_count")
    @ParamName("virtual_connect_count")
    private Long virtualConnectCount;

    /**
     * 栏目图标图片url
     */
    @JsonProperty("column_image_url")
    @ParamName("column_image_url")
    private String columnImageUrl;

    /**
     * 更新人 ID
     */
    @JsonProperty("update_by")
    @ParamName("update_by")
    private Integer updateBy;
    /**
     * 更新人姓名
     */
    @JsonProperty("update_name")
    @ParamName("update_name")
    private String updateName;
    /**
     * 更新人所属分支名称
     */
    @JsonProperty("update_org_name")
    @ParamName("update_org_name")
    private String updateOrgName;
    /**
     * 更新人所属分支编号
     */
    @JsonProperty("update_org_code")
    @ParamName("update_org_code")
    private String updateOrgCode;


    /**
     * 是否订阅 0：否  1：是
     */
    @JsonProperty("is_subscribe")
    @ParamName("is_subscribe")
    private Integer isSubscribe;
    /**
     * 更新时间
     */
    @JsonProperty("updated_at")
    @ParamName("updated_at")
    private LocalDateTime updatedAt;

}
